active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
↳ QTRS
↳ DependencyPairsProof
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
TOP1(found1(x)) -> TOP1(active1(x))
CHECK1(f1(x)) -> CHECK1(x)
MATCH2(X, x) -> PROPER1(x)
ACTIVE1(f1(x)) -> ACTIVE1(x)
TOP1(mark1(x)) -> CHECK1(x)
ACTIVE1(f1(x)) -> F1(active1(x))
CHECK1(x) -> MATCH2(f1(X), x)
TOP1(mark1(x)) -> TOP1(check1(x))
CHECK1(f1(x)) -> F1(check1(x))
F1(mark1(x)) -> F1(x)
CHECK1(x) -> F1(X)
MATCH2(f1(x), f1(y)) -> F1(match2(x, y))
PROPER1(f1(x)) -> PROPER1(x)
TOP1(found1(x)) -> ACTIVE1(x)
F1(ok1(x)) -> F1(x)
CHECK1(x) -> START1(match2(f1(X), x))
TOP1(active1(c)) -> TOP1(mark1(c))
MATCH2(f1(x), f1(y)) -> MATCH2(x, y)
F1(found1(x)) -> F1(x)
PROPER1(f1(x)) -> F1(proper1(x))
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
TOP1(found1(x)) -> TOP1(active1(x))
CHECK1(f1(x)) -> CHECK1(x)
MATCH2(X, x) -> PROPER1(x)
ACTIVE1(f1(x)) -> ACTIVE1(x)
TOP1(mark1(x)) -> CHECK1(x)
ACTIVE1(f1(x)) -> F1(active1(x))
CHECK1(x) -> MATCH2(f1(X), x)
TOP1(mark1(x)) -> TOP1(check1(x))
CHECK1(f1(x)) -> F1(check1(x))
F1(mark1(x)) -> F1(x)
CHECK1(x) -> F1(X)
MATCH2(f1(x), f1(y)) -> F1(match2(x, y))
PROPER1(f1(x)) -> PROPER1(x)
TOP1(found1(x)) -> ACTIVE1(x)
F1(ok1(x)) -> F1(x)
CHECK1(x) -> START1(match2(f1(X), x))
TOP1(active1(c)) -> TOP1(mark1(c))
MATCH2(f1(x), f1(y)) -> MATCH2(x, y)
F1(found1(x)) -> F1(x)
PROPER1(f1(x)) -> F1(proper1(x))
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
F1(mark1(x)) -> F1(x)
F1(ok1(x)) -> F1(x)
F1(found1(x)) -> F1(x)
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
F1(mark1(x)) -> F1(x)
F1(ok1(x)) -> F1(x)
F1(found1(x)) -> F1(x)
POL(F1(x1)) = 2·x1
POL(found1(x1)) = 2 + 2·x1
POL(mark1(x1)) = 2 + 2·x1
POL(ok1(x1)) = 2 + 2·x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
ACTIVE1(f1(x)) -> ACTIVE1(x)
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
ACTIVE1(f1(x)) -> ACTIVE1(x)
POL(ACTIVE1(x1)) = 2·x1
POL(f1(x1)) = 1 + 2·x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
↳ QDP
PROPER1(f1(x)) -> PROPER1(x)
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
PROPER1(f1(x)) -> PROPER1(x)
POL(PROPER1(x1)) = 2·x1
POL(f1(x1)) = 1 + 2·x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
MATCH2(f1(x), f1(y)) -> MATCH2(x, y)
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
MATCH2(f1(x), f1(y)) -> MATCH2(x, y)
POL(MATCH2(x1, x2)) = 2·x1 + x2
POL(f1(x1)) = 2 + 2·x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
CHECK1(f1(x)) -> CHECK1(x)
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CHECK1(f1(x)) -> CHECK1(x)
POL(CHECK1(x1)) = 2·x1
POL(f1(x1)) = 1 + 2·x1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
TOP1(found1(x)) -> TOP1(active1(x))
TOP1(active1(c)) -> TOP1(mark1(c))
TOP1(mark1(x)) -> TOP1(check1(x))
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TOP1(active1(c)) -> TOP1(mark1(c))
Used ordering: Polynomial interpretation [21]:
TOP1(found1(x)) -> TOP1(active1(x))
TOP1(mark1(x)) -> TOP1(check1(x))
POL(TOP1(x1)) = 2·x1
POL(X) = 0
POL(active1(x1)) = x1
POL(c) = 2
POL(check1(x1)) = 0
POL(f1(x1)) = 0
POL(found1(x1)) = x1
POL(mark1(x1)) = 0
POL(match2(x1, x2)) = 2·x1
POL(ok1(x1)) = x1
POL(proper1(x1)) = 0
POL(start1(x1)) = 2·x1
start1(ok1(x)) -> found1(x)
check1(f1(x)) -> f1(check1(x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
f1(ok1(x)) -> ok1(f1(x))
f1(found1(x)) -> found1(f1(x))
active1(f1(x)) -> f1(active1(x))
active1(f1(x)) -> mark1(x)
f1(mark1(x)) -> mark1(f1(x))
check1(x) -> start1(match2(f1(X), x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
TOP1(found1(x)) -> TOP1(active1(x))
TOP1(mark1(x)) -> TOP1(check1(x))
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TOP1(found1(x)) -> TOP1(active1(x))
Used ordering: Polynomial interpretation [21]:
TOP1(mark1(x)) -> TOP1(check1(x))
POL(TOP1(x1)) = x1
POL(X) = 2
POL(active1(x1)) = x1
POL(c) = 2
POL(check1(x1)) = 2·x1
POL(f1(x1)) = 2·x1
POL(found1(x1)) = 1 + x1
POL(mark1(x1)) = 2·x1
POL(match2(x1, x2)) = 2·x2
POL(ok1(x1)) = 1 + x1
POL(proper1(x1)) = 2·x1
POL(start1(x1)) = x1
start1(ok1(x)) -> found1(x)
proper1(f1(x)) -> f1(proper1(x))
match2(X, x) -> proper1(x)
check1(f1(x)) -> f1(check1(x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
f1(ok1(x)) -> ok1(f1(x))
f1(found1(x)) -> found1(f1(x))
active1(f1(x)) -> f1(active1(x))
active1(f1(x)) -> mark1(x)
proper1(c) -> ok1(c)
f1(mark1(x)) -> mark1(f1(x))
check1(x) -> start1(match2(f1(X), x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
TOP1(mark1(x)) -> TOP1(check1(x))
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
TOP1(mark1(x)) -> TOP1(check1(x))
POL(TOP1(x1)) = x1
POL(X) = 2
POL(c) = 0
POL(check1(x1)) = x1
POL(f1(x1)) = x1
POL(found1(x1)) = 0
POL(mark1(x1)) = 1 + x1
POL(match2(x1, x2)) = 2·x1 + 2·x2
POL(ok1(x1)) = 2·x1
POL(proper1(x1)) = 1 + 2·x1
POL(start1(x1)) = 0
start1(ok1(x)) -> found1(x)
check1(f1(x)) -> f1(check1(x))
f1(ok1(x)) -> ok1(f1(x))
f1(found1(x)) -> found1(f1(x))
f1(mark1(x)) -> mark1(f1(x))
check1(x) -> start1(match2(f1(X), x))
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
active1(f1(x)) -> mark1(x)
top1(active1(c)) -> top1(mark1(c))
top1(mark1(x)) -> top1(check1(x))
check1(f1(x)) -> f1(check1(x))
check1(x) -> start1(match2(f1(X), x))
match2(f1(x), f1(y)) -> f1(match2(x, y))
match2(X, x) -> proper1(x)
proper1(c) -> ok1(c)
proper1(f1(x)) -> f1(proper1(x))
f1(ok1(x)) -> ok1(f1(x))
start1(ok1(x)) -> found1(x)
f1(found1(x)) -> found1(f1(x))
top1(found1(x)) -> top1(active1(x))
active1(f1(x)) -> f1(active1(x))
f1(mark1(x)) -> mark1(f1(x))